package com.bokesoft.yigo.mid.service;

import java.util.ArrayList;

import com.bokesoft.yigo.mid.base.DefaultContext;
import com.bokesoft.yigo.mid.document.LoadFormData;
import com.bokesoft.yigo.mid.service.IExtService;
import com.bokesoft.yigo.struct.document.Document;
/**
 * 需要在Enhance.xml中注册
 * 	<ExtService>
		<Service Name="Example1" Description="Safe" Impl="com.bokesoft.yigo.mid.service.example1.Example1Service"/>
 * @author ljd
 *
 */
public class TestService implements IExtService{

	@Override
	public Object doCmd(DefaultContext context, ArrayList<Object> arg1) throws Throwable {
// LONG BIGDECIMAL STRING BOOLEAN INT 
//		String sql = "select OID, code, name from sys_operator where oid = ?";
//		DataTable dt = context.getDBManager().execPrepareQuery(sql, 21);
//		
//		if(dt.first()){
//			while(!dt.isAfterLast()){
//				String code = dt.getString("code");
//				String name = dt.getString("name");
//				System.out.println("code:"+code);
//				System.out.println("name:"+name);
//				
//				dt.next();
//			}
//		}
		
//		context.getVE().getMetaFactory().getDataObject("Operator");
//		
//		MetaForm metaForm = context.getVE().getMetaFactory().getMetaForm("Operator");
//		metaForm.getDataSource().getDataObject()
		
//		context.getVE().getEnv().getClientID();
//		context.getVE().getEnv().getMode();
//		context.getVE().getEnv().getSessionParas();
		
//		Document doc = context.getDocument();
//		DataTable dt = doc.get("Test");
//		if(dt.first()){
//			String aa = dt.getString("AA");
//			System.out.println("AA      "+aa);
//		}
		
		//新建一个空doc
//		MetaDataObject mdo = context.getVE().getMetaFactory().getDataObject("Operator");
//		Document doc = DocumentUtil.newDocument(mdo);
//		//标记新增
//		doc.setNew();
//		
//		//头表赋值
//		DataTable head = doc.get("SYS_Operator");
//		head.setObject("Code", "Test3");
//		head.setObject("Name", "Test3");
//		//明细表赋值
//		DataTable detail = doc.get("SYS_OperatorRole");
//		detail.insert();
//		detail.setObject("Role", 11L);
//		
//		//清除字典缓存
//		context.getVE().getDictCache().removeItem("Operator", doc.getOID());
//		//层次字典需调用
//		context.getVE().getDictCache().updateCache("Operator", doc.getOID());
//		
//		DefaultContext newContext = new DefaultContext(context);
//		SaveData sd = new SaveData(mdo, null, doc);
//		sd.save(newContext);
		
//		Item item = context.getVE().getDictCache().getItem("Operator", 21);
//		String code = ""+item.getValue("Code");
//		String name = ""+item.getValue("Name");
//		
//		System.out.println(code);
//		System.out.println(name);
		
		
		LoadFormData lfd = new LoadFormData("Operator", 21);
		//Document doc = lfd.load(context, null);//上下文冲突!//towhy
		
		
		
		
		System.out.println("	this  	is 		testservice");
		return true;
	}
}
